import time
from public.action import *
from public.business import *
from public.testData import *
from public.tools import *
# 1.在首页搜索"小米",点击搜索按钮
# 2.选择小米mix3,加入到购物车,点击购物车按钮
# 3.点击"去结算"按钮
# 4.默认地址已经选择,点击下一步按钮
# 5.支付方式选择"余额支付",点击确认订单
# 6.点击"查看订单详情",点击"取消订单"

testCase="DBshop004_取消订单"
# 1.在首页搜索"小米",点击搜索按钮
firefox=openBrowser(url) #调用自定义函数打开网页,url的值是在testData文件中定义的
#调用自定义函数进行登录
DBshopLogin(firefox,userName,password)
#在首页的搜索框输入小米
firefox.find_element_by_xpath('//input[@name="keywords"]').send_keys('小米')
#点击搜索按钮
firefox.find_element_by_xpath('//input[@type="submit"]').click()
#点击商品图片
firefox.find_element_by_xpath("//a[@title='小米Mix3 全网通版 8GB+128GB 黑色 磁动力滑盖全面屏']").click()
#q切换页面
switchWindow(firefox,2)
#假如购物车
firefox.find_element_by_xpath("//button[@id='add_cart_submit']").click()
#去购物车结算
firefox.find_element_by_xpath("//a[@href='/dbshop/cart']").click()
#点击去结算
firefox.find_element_by_xpath("//a[@href='/dbshop/cart/setaddress']").click()
#默认收货地址，点击下一步
firefox.find_element_by_xpath("//input[@class='btn btn-large btn-primary' and @type='submit']").click()
#选择余额支付
firefox.find_element_by_xpath("//input[@type='radio' and @name='payment_code']").click()
#点击确认订单
firefox.find_element_by_xpath("//input[@value='确认订单']").click()
#获取订单号
#使用变量orderNO存储订单编号
orderNO=firefox.find_element_by_xpath('(//font[@color="color:#ED145B"])[2]').text
print(orderNO)
rootPath=get_pro_rootpath()
writeFile(rootPath+'\public\order1.txt',orderNO) # 将订单编号写入到文件中
#查看订单详情
firefox.find_element_by_xpath("//input[@value='查看订单详情']").click()
#输入订单号
firefox.find_element_by_xpath("//input[@placeholder='输入订单号']").send_keys(orderNO)
firefox.find_element_by_xpath("//button[text()='搜索']").click()
#取消订单
firefox.find_element_by_xpath("//button[text()='取消订单']").click()
#
firefox.switch_to.alert.accept()#处理js弹框，点击确定按钮
#查询无效订单号
firefox.find_element_by_partial_link_text('无效订单').click()
firefox.find_element_by_xpath("//input[@placeholder='输入订单号']").send_keys(orderNO)
#断言
try:
    firefox.find_element_by_link_text(orderNO)
    writeLog("%s 测试通过"%testCase)
except:
    writeLog("%s 测试失败" % testCase)
    getPhoto(firefox)
firefox.quit()





